package com.cq.hd.system.api;

import com.cq.hd.common.pagination.Page;
import com.cq.hd.common.response.Result;
import com.cq.hd.system.api.dto.ContentPageDto;
import com.cq.hd.system.api.dto.ContentSaveDto;
import com.cq.hd.system.api.dto.ContentUpdateDto;
import com.cq.hd.system.api.dto.ContentUpdateStateDto;
import com.cq.hd.system.api.vo.ContentPageVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;

@FeignClient(value = "hd-o2o-system-service", contextId = "content-api")
public interface TbContentApi {

    // 列表
    @GetMapping("/system/content/pageContent")
    Result<Page<ContentPageVo>> pageContent(@SpringQueryMap ContentPageDto contentPageDto);

    // 添加
    @PostMapping("/system/content/saveContent")
    Result<Long> saveContent(@RequestBody ContentSaveDto contentSaveDto);

    // 编辑
    @PutMapping("/system/content/updateContent")
    Result<Boolean> updateContent(@RequestBody ContentUpdateDto contentUpdateDto);

    // 删除
    @DeleteMapping("/system/content/deleteContent")
    Result<Boolean> deleteContent(@RequestParam("id") Long id);

    // 上下架
    @PutMapping("/system/content/updateState")
    Result<Boolean> updateState(@RequestBody ContentUpdateStateDto contentUpdateStateDto);

}
